﻿Imports System.Data
Imports VSModel
Imports Cls_Common

Partial Class Control_WareHouse_Create
    Inherits System.Web.UI.UserControl
    Private Shared ReadOnly log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
#Region "Sub and Function "
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim script As ScriptManager = ScriptManager.GetCurrent(Me.Page)
            If Not script Is Nothing AndAlso script.IsInAsyncPostBack Then
                ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "jqueryEnable", "ajaxJquery()", True)
            Else
                Me.Page.ClientScript.RegisterStartupScript(Me.Page.GetType(), "jqueryEnable", String.Concat("Sys.Application.add_load(function(){", "ajaxJquery()", "});"), True)
            End If

        End If
    End Sub
    Protected Function Save() As Boolean
        Using data As New VSEntities
            Dim p As New VSModel.Warehouse
            Try
                p.BatchNo = txtBatchno.Text.Trim()
                p.ItemCode = txtItemcode.Text.Trim()

                p.VendorCode = txtVendorcode.Text.Trim()

                p.ManufacturedDate = StringToDate(txtNgaysanxuat.Text.Trim())
                p.ExpiredDate = StringToDate(txtNgayhethan.Text.Trim())
                p.PackingSize = txtKhoiluongthetich.Text.Trim()
                p.PackingType = txtQuycachdonggoi.Text.Trim()


                p.Source = txtSource.Text.Trim()
                p.Pallet = txtPallet.Text.Trim()
                p.BUN = txtBUN.Text.Trim()
                p.StockOnHand = txtStockOnhand.text()

                p.Creator = Session("Username")
                p.Created = Now()
                p.StatusId = 1 'drapt
                data.Warehouses.AddObject(p)
                data.SaveChanges()
                'Insert_App_Log("Insert  Warehouse:" & txtTitle.Text.Trim & "", Function_Name.Warehouse, Audit_Type.Create, Request.ServerVariables("REMOTE_ADDR"), Session("UserName"))
                Return True
            Catch ex As Exception
                log4net.Config.XmlConfigurator.Configure()
                log.Error("Error error " & AddTabSpace(1) & Session("Username") & AddTabSpace(1) & "IP:" & GetIPAddress(), ex)
                Return False
            End Try
        End Using
    End Function
    Protected Sub ResetControl()

        txtBatchno.Text = ""
        txtItemcode.Text = ""
        txtVendorcode.Text = ""


        txtKhoiluongthetich.Text = ""
        txtQuycachdonggoi.Text = ""
        txtSource.Text = ""
        txtPallet.Text = ""
        txtBun.Text = ""
        txtStockonhand.Text = ""
    End Sub
    Protected Function checkDublicate() As Boolean
        Using data As New VSEntities
            Dim p = (From q In data.WareHouses Where q.BatchNo = txtBatchno.Text.Trim Select q).FirstOrDefault
            If Not p Is Nothing Then
                Return True
            End If

        End Using
        Return False
    End Function

#End Region
#Region "Event for control "
    Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
        'check trung BatchNO
        If checkDublicate() Then
            Excute_Javascript("Alertbox('Batch No. đã tồn tại trong hệ thống.');", Me.Page, True)
            Exit Sub
        End If
        If txtNgayhethan.Text <> "" AndAlso StringToDate(txtNgaysanxuat.Text.Trim()) >= StringToDate(txtNgayhethan.Text.Trim()) Then
            Excute_Javascript("Alertbox('Ngày Sản xuất phải trước ngày hết hạn.');", Me.Page, True)
            Exit Sub
        End If
        If Save() Then
            Excute_Javascript("Alertbox('Cập nhật dữ liệu thành công.');window.location ='../../Page/WareHouse/List.aspx';", Me.Page, True)
        Else
            Excute_Javascript("Alertbox('Cập nhật thất bại.');", Me.Page, True)
        End If
    End Sub
    Protected Sub btnSaveAndNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveAndNew.Click
        'check trung BatchNO
        If checkDublicate() Then
            Excute_Javascript("Alertbox('Batch No. đã tồn tại trong hệ thống.');", Me.Page, True)
            Exit Sub
        End If

        If txtNgayhethan.Text <> "" AndAlso StringToDate(txtNgaysanxuat.Text.Trim()) >= StringToDate(txtNgayhethan.Text.Trim()) Then
            Excute_Javascript("Alertbox('Ngày Sản xuất phải trước ngày hết hạn.');", Me.Page, True)
            Exit Sub
        End If
        If Save() Then
            Excute_Javascript("Alertbox('Cập nhật dữ liệu thành công.');", Me.Page, True)
            ResetControl()
        Else
            Excute_Javascript("Alertbox('Cập nhật thất bại.');", Me.Page, True)
        End If
    End Sub
    Protected Sub btnReset_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReset.Click
        ResetControl()
    End Sub
    Protected Sub btnBack_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnBack.Click
        Response.Redirect("List.aspx")
    End Sub
#End Region
End Class
